Changed __config to react to all of clang's currently documented has_feature flags, and renamed _LIBCPP_MOVE to _LIBCPP_HAS_NO_RVALUE_REFERENCES to be more consistent with the rest of the libc++'s flags, and with clang's nomenclature. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113086 91177308-0d34-0410-b5e6-96231b3b80d8 
diff --git a/include/valarray b/include/valarray index 1fcee5c..2cac733 100644 --- a/include/valarray +++ b/include/valarray 
@@ -795,10 +795,10 @@  valarray(const value_type& __x, size_t __n);  valarray(const value_type* __p, size_t __n);  valarray(const valarray& __v); -#ifdef _LIBCPP_MOVE +#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES  valarray(valarray&& __v);  valarray(initializer_list<value_type> __il); -#endif // _LIBCPP_MOVE +#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES  valarray(const slice_array<value_type>& __sa);  valarray(const gslice_array<value_type>& __ga);  valarray(const mask_array<value_type>& __ma); @@ -807,10 +807,10 @@    // assignment:  valarray& operator=(const valarray& __v); -#ifdef _LIBCPP_MOVE +#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES  valarray& operator=(valarray&& __v);  valarray& operator=(initializer_list<value_type>); -#endif // _LIBCPP_MOVE +#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES  valarray& operator=(const value_type& __x);  valarray& operator=(const slice_array<value_type>& __sa);  valarray& operator=(const gslice_array<value_type>& __ga); @@ -829,22 +829,22 @@  slice_array<value_type> operator[](slice __s);  __val_expr<__indirect_expr<const valarray&> > operator[](const gslice& __gs) const;  gslice_array<value_type> operator[](const gslice& __gs); -#ifdef _LIBCPP_MOVE +#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES  __val_expr<__indirect_expr<const valarray&> > operator[](gslice&& __gs) const;  gslice_array<value_type> operator[](gslice&& __gs); -#endif // _LIBCPP_MOVE +#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES  __val_expr<__mask_expr<const valarray&> > operator[](const valarray<bool>& __vb) const;  mask_array<value_type> operator[](const valarray<bool>& __vb); -#ifdef _LIBCPP_MOVE +#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES  __val_expr<__mask_expr<const valarray&> > operator[](valarray<bool>&& __vb) const;  mask_array<value_type> operator[](valarray<bool>&& __vb); -#endif // _LIBCPP_MOVE +#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES  __val_expr<__indirect_expr<const valarray&> > operator[](const valarray<size_t>& __vs) const;  indirect_array<value_type> operator[](const valarray<size_t>& __vs); -#ifdef _LIBCPP_MOVE +#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES  __val_expr<__indirect_expr<const valarray&> > operator[](valarray<size_t>&& __vs) const;  indirect_array<value_type> operator[](valarray<size_t>&& __vs); -#endif // _LIBCPP_MOVE +#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES    // unary operators:  valarray operator+() const; @@ -1395,7 +1395,7 @@  __stride_(__stride)  {__init(__start);}   -#ifdef _LIBCPP_MOVE +#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES    _LIBCPP_ALWAYS_INLINE  gslice(size_t __start, const valarray<size_t>& __size, @@ -1418,7 +1418,7 @@  __stride_(move(__stride))  {__init(__start);}   -#endif // _LIBCPP_MOVE +#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES    // gslice(const gslice&) = default;  // gslice(gslice&&) = default; @@ -1559,7 +1559,7 @@  __1d_(__gs.__1d_)  {}   -#ifdef _LIBCPP_MOVE +#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES    _LIBCPP_ALWAYS_INLINE  gslice_array(gslice&& __gs, const valarray<value_type>& __v) @@ -1567,7 +1567,7 @@  __1d_(move(__gs.__1d_))  {}   -#endif // _LIBCPP_MOVE +#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES    template <class> friend class valarray;  }; @@ -2232,7 +2232,7 @@  __1d_(__ia)  {}   -#ifdef _LIBCPP_MOVE +#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES    _LIBCPP_ALWAYS_INLINE  indirect_array(valarray<size_t>&& __ia, const valarray<value_type>& __v) @@ -2240,7 +2240,7 @@  __1d_(move(__ia))  {}   -#endif // _LIBCPP_MOVE +#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES    template <class> friend class valarray;  }; @@ -2450,14 +2450,14 @@  __1d_(__ia)  {}   -#ifdef _LIBCPP_MOVE +#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES    __indirect_expr(valarray<size_t>&& __ia, const _RmExpr& __e)  : __expr_(__e),  __1d_(move(__ia))  {}   -#endif // _LIBCPP_MOVE +#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES    public:  _LIBCPP_ALWAYS_INLINE @@ -2691,7 +2691,7 @@  }  }   -#ifdef _LIBCPP_MOVE +#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES    template <class _Tp>  inline _LIBCPP_ALWAYS_INLINE @@ -2728,7 +2728,7 @@  }  }   -#endif // _LIBCPP_MOVE +#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES    template <class _Tp>  valarray<_Tp>::valarray(const slice_array<value_type>& __sa) @@ -2863,7 +2863,7 @@  return *this;  }   -#ifdef _LIBCPP_MOVE +#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES    template <class _Tp>  inline _LIBCPP_ALWAYS_INLINE @@ -2889,7 +2889,7 @@  return *this;  }   -#endif // _LIBCPP_MOVE +#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES    template <class _Tp>  inline _LIBCPP_ALWAYS_INLINE @@ -2986,7 +2986,7 @@  return gslice_array<value_type>(__gs, *this);  }   -#ifdef _LIBCPP_MOVE +#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES    template <class _Tp>  inline _LIBCPP_ALWAYS_INLINE @@ -3004,7 +3004,7 @@  return gslice_array<value_type>(move(__gs), *this);  }   -#endif // _LIBCPP_MOVE +#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES    template <class _Tp>  inline _LIBCPP_ALWAYS_INLINE @@ -3022,7 +3022,7 @@  return mask_array<value_type>(__vb, *this);  }   -#ifdef _LIBCPP_MOVE +#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES    template <class _Tp>  inline _LIBCPP_ALWAYS_INLINE @@ -3040,7 +3040,7 @@  return mask_array<value_type>(move(__vb), *this);  }   -#endif // _LIBCPP_MOVE +#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES    template <class _Tp>  inline _LIBCPP_ALWAYS_INLINE @@ -3058,7 +3058,7 @@  return indirect_array<value_type>(__vs, *this);  }   -#ifdef _LIBCPP_MOVE +#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES    template <class _Tp>  inline _LIBCPP_ALWAYS_INLINE @@ -3076,7 +3076,7 @@  return indirect_array<value_type>(move(__vs), *this);  }   -#endif // _LIBCPP_MOVE +#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES    template <class _Tp>  valarray<_Tp>